package com.pencilisland.pay.mgt.app.entity;

import java.math.BigDecimal;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;

/**
 * 交易订单
 * 
 * @author Breeze
 *
 */
@Entity
@Table(name = "APP_TRADE_ORDER")
public class OrderInfoEntity {
	/**
	 * 订单编号
	 */
	@Id
	@Column(name = "ORDER_NO", length = 100)
	private String orderNo;
	/**
	 * 商品ID
	 */
	@Column(name = "GOODS_CODE", length = 100)
	private String goodsCode;
	/**
	 * 商品名称
	 */
	@Column(name = "GOODS_NAME", length = 200)
	private String goodsName;
	/**
	 * 商户编号
	 */
	@Column(name = "TENANT_CODE", length = 100)
	private String tenantCode;
	/**
	 * 商户名称
	 */
	@Column(name = "TENANT_NAME", length = 200)
	private String tenantName;
	/**
	 * 交易数量
	 */
	@Column(name = "TRADE_NUM")
	private Integer tradeNum;
	/**
	 * 商品单价
	 */
	@Column(name = "UNIT_PRICE", scale = 2, precision = 16)
	private BigDecimal unitPrice;
	/**
	 * 总价
	 */
	@Column(name = "TOTAL_PRICE", scale = 2, precision = 16)
	private BigDecimal totalPrice;
	/**
	 * 订单价
	 */
	@Column(name = "ORDER_PRICE", scale = 2, precision = 16)
	private BigDecimal orderPrice;
	/**
	 * 支付方式
	 */
	@Column(name = "PAY_WAY", length = 20)
	private String payWay;
	/**
	 * 处理状态
	 */
	@Column(name = "STATUS")
	private Integer status;
	/**
	 * 预订单号
	 */
	@Column(name = "PREPAY_ID", length = 50)
	private String prepayId;
	/**
	 * 交易订单号
	 */
	@Column(name = "TRANSACTION_ID", length = 50)
	private String transactionId;
	/**
	 * 微信支付用户唯一ID
	 */
	@Column(name = "OPEN_ID", length = 50)
	private String openId;
	/**
	 * 微信用户昵称
	 */
	@Column(name = "NICK_NAME", length = 400)
	private String nickName;
	/**
	 * 创建时间
	 */
	@Column(name = "CREATE_TIME", length = 20)
	private String createTime;
	/**
	 * 完成时间
	 */
	@Column(name = "FINISH_TIME", length = 20)
	private String finishTime;

	/**
	 * 收货人姓名
	 */
	@Column(name = "USER_NAME", length = 100)
	private String userName;
	/**
	 * 邮编
	 */
	@Column(name = "POSTAL_CODE", length = 20)
	private String postalCode;
	/**
	 * 国标收货地址第一级地址
	 */
	@Column(name = "PROVINCE_NAME", length = 100)
	private String provinceName;
	/**
	 * 国标收货地址第二级地址
	 */
	@Column(name = "CITY_NAME", length = 100)
	private String cityName;
	/**
	 * 国标收货地址第三级地址
	 */
	@Column(name = "COUNTY_NAME", length = 100)
	private String countyName;
	/**
	 * 详细收货地址信息
	 */
	@Column(name = "DETAIL_INFO", length = 200)
	private String detailInfo;
	/**
	 * 收货地址国家码
	 */
	@Column(name = "NATIONAL_CODE", length = 20)
	private String nationalCode;
	/**
	 * 电话号码
	 */
	@Column(name = "TEL_NUMBER", length = 30)
	private String telNumber;
	/**
	 * 处理备注
	 */
	@Column(name = "REMARK", length = 4000)
	private String remark;
	/**
	 * 快递单号
	 */
	@Column(name = "TRACKING_NUMBER", length = 200)
	private String trackingNumber;
	
	@Transient
	private String createDateStart;
	@Transient
	private String createDateEnd;

	public String getOrderNo() {
		return orderNo;
	}

	public void setOrderNo(String orderNo) {
		this.orderNo = orderNo;
	}

	public String getGoodsCode() {
		return goodsCode;
	}

	public void setGoodsCode(String goodsCode) {
		this.goodsCode = goodsCode;
	}

	public String getGoodsName() {
		return goodsName;
	}

	public void setGoodsName(String goodsName) {
		this.goodsName = goodsName;
	}

	public String getTenantCode() {
		return tenantCode;
	}

	public void setTenantCode(String tenantCode) {
		this.tenantCode = tenantCode;
	}

	public String getTenantName() {
		return tenantName;
	}

	public void setTenantName(String tenantName) {
		this.tenantName = tenantName;
	}

	public Integer getTradeNum() {
		return tradeNum;
	}

	public void setTradeNum(Integer tradeNum) {
		this.tradeNum = tradeNum;
	}

	public BigDecimal getUnitPrice() {
		return unitPrice;
	}

	public void setUnitPrice(BigDecimal unitPrice) {
		this.unitPrice = unitPrice;
	}

	public BigDecimal getTotalPrice() {
		return totalPrice;
	}

	public void setTotalPrice(BigDecimal totalPrice) {
		this.totalPrice = totalPrice;
	}

	public BigDecimal getOrderPrice() {
		return orderPrice;
	}

	public void setOrderPrice(BigDecimal orderPrice) {
		this.orderPrice = orderPrice;
	}

	public String getPayWay() {
		return payWay;
	}

	public void setPayWay(String payWay) {
		this.payWay = payWay;
	}

	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	public String getPrepayId() {
		return prepayId;
	}

	public void setPrepayId(String prepayId) {
		this.prepayId = prepayId;
	}

	public String getTransactionId() {
		return transactionId;
	}

	public void setTransactionId(String transactionId) {
		this.transactionId = transactionId;
	}

	public String getOpenId() {
		return openId;
	}

	public void setOpenId(String openId) {
		this.openId = openId;
	}

	public String getNickName() {
		return nickName;
	}

	public void setNickName(String nickName) {
		this.nickName = nickName;
	}

	public String getCreateTime() {
		return createTime;
	}

	public void setCreateTime(String createTime) {
		this.createTime = createTime;
	}

	public String getFinishTime() {
		return finishTime;
	}

	public void setFinishTime(String finishTime) {
		this.finishTime = finishTime;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public String getPostalCode() {
		return postalCode;
	}

	public void setPostalCode(String postalCode) {
		this.postalCode = postalCode;
	}

	public String getProvinceName() {
		return provinceName;
	}

	public void setProvinceName(String provinceName) {
		this.provinceName = provinceName;
	}

	public String getCityName() {
		return cityName;
	}

	public void setCityName(String cityName) {
		this.cityName = cityName;
	}

	public String getCountyName() {
		return countyName;
	}

	public void setCountyName(String countyName) {
		this.countyName = countyName;
	}

	public String getDetailInfo() {
		return detailInfo;
	}

	public void setDetailInfo(String detailInfo) {
		this.detailInfo = detailInfo;
	}

	public String getNationalCode() {
		return nationalCode;
	}

	public void setNationalCode(String nationalCode) {
		this.nationalCode = nationalCode;
	}

	public String getTelNumber() {
		return telNumber;
	}

	public void setTelNumber(String telNumber) {
		this.telNumber = telNumber;
	}

	public String getCreateDateStart() {
		return createDateStart;
	}

	public void setCreateDateStart(String createDateStart) {
		this.createDateStart = createDateStart;
	}

	public String getCreateDateEnd() {
		return createDateEnd;
	}

	public void setCreateDateEnd(String createDateEnd) {
		this.createDateEnd = createDateEnd;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public String getTrackingNumber() {
		return trackingNumber;
	}

	public void setTrackingNumber(String trackingNumber) {
		this.trackingNumber = trackingNumber;
	}

}
